#region Copyright 2006 - Evolution Tecnologia Ltda.
//
// Author: Rafael Franco Carvalho (rafael@Evolutiontec.com.br)
//
// All rights are reserved. Reproduction or transmission in whole or in part, in
// any form or by any means, eletronic, mechanical or otherwise, is prohibited
// without the prior written permission of the author.
//
// Filename: Municipio.cs
#endregion


using System;
using System.Collections.Generic;
using System.Text;
using csharp.common;

namespace csharp.rad.general
{
    public class Municipio
    {
        private Database myDatabase;
        private Int32 municipioId;
        private String municipioNome;
        //private Estado municipioEstado;
        private Boolean municipioCapital;
        private Double municipioArea;
        private Double municipioAltitude;
        private Double municipioLatitude;
        private Double municipioLongitude;

        public Municipio(Database myDatabase)
        {
            this.myDatabase = myDatabase;
            //municipioEstado = new Estado(myDatabase);
        }

        public Int32 Id
        {
            get
            {
                return municipioId;
            }
            set
            {
                municipioId = value;
            }
        }

        public String Nome
        {
            get
            {
                return municipioNome;
            }
            set
            {
                municipioNome = value;
            }
        }

        /*public Estado Estado
        {
            get
            {
                return municipioEstado;
            }
            set
            {
                municipioEstado = value;
            }
        }*/

        public Boolean Capital
        {
            get
            {
                return municipioCapital;
            }
            set
            {
                municipioCapital = value;
            }
        }

        public Double Area
        {
            get
            {
                return municipioArea;
            }
            set
            {
                municipioArea = value;
            }
        }

        public Double Altitude
        {
            get
            {
                return municipioAltitude;
            }
            set
            {
                municipioAltitude = value;
            }
        }

        public Double Latitude
        {
            get
            {
                return municipioLatitude;
            }
            set
            {
                municipioLatitude = value;
            }
        }

        public Double Longitude
        {
            get
            {
                return municipioLongitude;
            }
            set
            {
                municipioLongitude = value;
            }
        }

        public override string ToString()
        {
            return (municipioNome);
        }

        /// <summary>
        /// Get data from given municipioId
        /// </summary>
        /// <param name="value">The municipioId</param>
        public void GetData(Int32 value)
        {
            String commandText;
            String tableName = "municipios";
            Database.Result databaseResult = new Database.Result();
            System.Data.DataSet sqlDataSet = new System.Data.DataSet();

            commandText = "SELECT * FROM municipios "
                        + "WHERE (municipio_id = " + value.ToString() + ")";
            sqlDataSet = myDatabase.ExecuteQuery(commandText, tableName, out databaseResult);
            foreach (System.Data.DataRow dataRecord in sqlDataSet.Tables[tableName].Rows)
            {
                municipioId = System.Convert.ToInt32(dataRecord["municipio_id"]);
                municipioNome = System.Convert.ToString(dataRecord["municipio_nome"]);
                //municipioEstado.GetData(System.Convert.ToInt32(dataRecord["municipio_estado_id"]));
                municipioCapital = System.Convert.ToBoolean(dataRecord["municipio_capital"]);
                municipioArea = common.Util.formatDouble(dataRecord["municipio_area"].ToString());
                municipioAltitude = common.Util.formatDouble(dataRecord["municipio_altitude"].ToString());
                municipioLatitude = common.Util.formatDouble(dataRecord["municipio_latitude"].ToString());
                municipioLongitude = common.Util.formatDouble(dataRecord["municipio_longitude"].ToString());
            }
            sqlDataSet.Dispose();
        }
    }
}
